↳ HASKELL
↳ LR
((eltsFM :: FiniteMap b a -> [a]) :: FiniteMap b a -> [a]) |
import qualified Maybe import qualified Prelude |
|||||||||
data FiniteMap b a = EmptyFM | Branch b a Int (FiniteMap b a) (FiniteMap b a) |
|||||||||
eltsFM :: FiniteMap b a -> [a]
|
|||||||||
foldFM :: (b -> c -> a -> a) -> a -> FiniteMap b c -> a
|
import qualified FiniteMap import qualified Prelude |
\keyeltrest→elt : rest
eltsFM0 key elt rest = elt : rest
↳ HASKELL
↳ LR
↳ HASKELL
↳ BR
((eltsFM :: FiniteMap a b -> [b]) :: FiniteMap a b -> [b]) |
import qualified Maybe import qualified Prelude |
|||||||||
data FiniteMap a b = EmptyFM | Branch a b Int (FiniteMap a b) (FiniteMap a b) |
|||||||||
eltsFM :: FiniteMap b a -> [a]
|
|||||||||
|
|||||||||
foldFM :: (c -> a -> b -> b) -> b -> FiniteMap c a -> b
|
import qualified FiniteMap import qualified Prelude |
↳ HASKELL
↳ LR
↳ HASKELL
↳ BR
↳ HASKELL
↳ COR
((eltsFM :: FiniteMap a b -> [b]) :: FiniteMap a b -> [b]) |
import qualified Maybe import qualified Prelude |
|||||||||
data FiniteMap b a = EmptyFM | Branch b a Int (FiniteMap b a) (FiniteMap b a) |
|||||||||
eltsFM :: FiniteMap a b -> [b]
|
|||||||||
|
|||||||||
foldFM :: (c -> b -> a -> a) -> a -> FiniteMap c b -> a
|
import qualified FiniteMap import qualified Prelude |
undefined
| False
= undefined
undefined = undefined1
undefined0 True = undefined
undefined1 = undefined0 False
↳ HASKELL
↳ LR
↳ HASKELL
↳ BR
↳ HASKELL
↳ COR
↳ HASKELL
↳ Narrow
(eltsFM :: FiniteMap b a -> [a]) |
import qualified Maybe import qualified Prelude |
|||||||||
data FiniteMap b a = EmptyFM | Branch b a Int (FiniteMap b a) (FiniteMap b a) |
|||||||||
eltsFM :: FiniteMap a b -> [b]
|
|||||||||
|
|||||||||
foldFM :: (b -> c -> a -> a) -> a -> FiniteMap b c -> a
|
import qualified FiniteMap import qualified Prelude |
↳ HASKELL
↳ LR
↳ HASKELL
↳ BR
↳ HASKELL
↳ COR
↳ HASKELL
↳ Narrow
↳ AND
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
new_foldFM(vz30, vz31, vz4, Branch(vz330, vz331, vz332, vz333, vz334), h, ba) → new_foldFM(vz330, vz331, new_foldFM0(vz30, vz31, vz4, vz334, h, ba), vz333, h, ba)
new_foldFM(vz30, vz31, vz4, Branch(vz330, vz331, vz332, vz333, vz334), h, ba) → new_foldFM(vz30, vz31, vz4, vz334, h, ba)
new_foldFM0(vz30, vz31, vz4, Branch(vz330, vz331, vz332, vz333, vz334), h, ba) → new_foldFM0(vz330, vz331, new_foldFM0(vz30, vz31, vz4, vz334, h, ba), vz333, h, ba)
new_foldFM0(vz30, vz31, vz4, EmptyFM, h, ba) → :(vz31, vz4)
new_foldFM0(x0, x1, x2, EmptyFM, x3, x4)
new_foldFM0(x0, x1, x2, Branch(x3, x4, x5, x6, x7), x8, x9)
From the DPs we obtained the following set of size-change graphs:
↳ HASKELL
↳ LR
↳ HASKELL
↳ BR
↳ HASKELL
↳ COR
↳ HASKELL
↳ Narrow
↳ AND
↳ QDP
↳ QDP
↳ QDPSizeChangeProof
new_foldFM1(Branch(vz30, vz31, vz32, vz33, vz34), h, ba) → new_foldFM1(vz34, h, ba)
From the DPs we obtained the following set of size-change graphs: